diff options
Diffstat (limited to 'code/app/src/routes/(main)/(public)/reset-password/[id]')
| -rw-r--r-- | code/app/src/routes/(main)/(public)/reset-password/[id]/+page.svelte | 30 |
1 files changed, 13 insertions, 17 deletions
diff --git a/code/app/src/routes/(main)/(public)/reset-password/[id]/+page.svelte b/code/app/src/routes/(main)/(public)/reset-password/[id]/+page.svelte index 3710290..2026764 100644 --- a/code/app/src/routes/(main)/(public)/reset-password/[id]/+page.svelte +++ b/code/app/src/routes/(main)/(public)/reset-password/[id]/+page.svelte @@ -1,26 +1,22 @@ <script lang="ts"> - import { check_forgot_password_request, fulfill_forgot_password_request } from "$lib/api/account"; import { onMount } from "svelte"; import LL from "$lib/i18n/i18n-svelte"; import { Alert, Input, Button } from "$lib/components"; import type { PageServerData } from "./$types"; - import type { ErrorResult } from "$lib/models/internal/ErrorResult"; import { goto } from "$app/navigation"; - import { Message, messageQueryKey } from "$routes/(main)/(public)/sign-in"; + import { SignInPageMessage, signInPageMessageQueryKey } from "$routes/(main)/(public)/sign-in"; + import { PasswordResetService } from "$lib/services/password-reset-service"; export let data: PageServerData; - + const service = new PasswordResetService(); const formData = { - newPassword: "", + newPassword: { + value: "", + errors: [], + }, }; - const errorData = { - text: "", - title: "", - } as ErrorResult; - let errorState: undefined | "expired" | "404" | "unknown"; - let finishedPreliminaryLoading = false; let loading = false; let canSubmit = true; @@ -28,18 +24,18 @@ async function submitFormAsync() { if (!canSubmit) return; loading = true; - const request = await fulfill_forgot_password_request(data.resetRequestId, formData.newPassword); - if (request.ok) { - goto("/sign-in?" + messageQueryKey + "=" + Message.AFTER_PASSWORD_RESET); + const request = await service.fulfill_request_async(data.resetRequestId, formData.newPassword.value); + if (request.isFulfilled) { + goto("/sign-in?" + signInPageMessageQueryKey + "=" + SignInPageMessage.AFTER_PASSWORD_RESET); + } else if (request.knownProblem) { } - loading = false; } onMount(async () => { errorState = undefined; - const isValidRequest = await check_forgot_password_request(data.resetRequestId); - if (!isValidRequest.ok && isValidRequest.status !== 404) { + const isValidRequest = await service.request_is_valid_async(data.resetRequestId); + if (!isValidRequest.isValid) { errorState = "unknown"; canSubmit = false; } |
